package com.cskaoyan.javase.stringbuffer;

/**
 * @description: 构造方法
 * @author: wuguidong@cskaoyan.onaliyun.com
 **/

/**
 * 以StringBuffer类为例子
 * StringBuffer也称之为字符串缓冲区
 * 其中非final修饰的value数组的长度不再是字符串的长度了,而是字符串缓冲区的大小/容量
 *
 * // public StringBuffer()  无参构造方法  容量是16
 * // public StringBuffer(int capacity)  指定容量的字符串缓冲区对象capacity
 * // public StringBuffer(String str)  指定字符串内容的字符串缓冲区对象 容量是str的长度+16
 *
 * 可变字符串中的两个关键成员变量:
 * int count: 表示已经存储字符串的长度
 * char[] value: 表示字符串缓冲区,它的长度是容量,指的是最大能够装多少字符串
 *
 *
 * idea 查看源代码时,或者debug时可以使用快捷键alt+ctrl+左右键完成光标的向前向后跳转
 *
 *
 */
public class Demo2 {
    public static void main(String[] args) {
        //public StringBuffer()  无参构造方法
        //该种方式创建的sb对象,字符串缓冲区容量是16,这个时候里面没有任何字符串
        StringBuffer sb = new StringBuffer();
        sb.append("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");

        //public StringBuffer(int capacity)  指定容量的字符串缓冲区对象
        StringBuffer sb2 = new StringBuffer(20);

        //public StringBuffer(String str)  指定字符串内容的字符串缓冲区对象
        //这种方式创建对象,字符串缓冲区的容量是字符串的长度+16
        StringBuffer sb3 = new StringBuffer("hello");
    }
}
